<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js基础深拷贝</title>
</head>
<body>
	<p>字符串拼接</p>
	
</body>

</html>
<script>
	// 字符串拼接
	const a=100+10;//110
	const b=100 + '10' // '10010'
	const c=true +'100' //'true10'

	// ==运算符
	100=='100' //true
	0==''      //true
	0==false   //true
	false =='' //true
	null==undefined //true

	/*规律:除了==null之外，其他一律用 ===,例如：*/
	const obj={x:100}
	if(obj.a==null){

	}
	//相当于
	if(obj.a===null || obj.a===undefined){}


	//if语句和逻辑运算

	//truely变量(真的变量): !!a===true的变量   
	//falsely变量(假的变量): !!a===false的变量

	//const n =100; => !n => false => !n =true ---经过两步非运算出现一个布尔值

	//以下是falsely变量.除此之外都是truly变量

	!!0 === false
	!!NaN===false
	!!''===false
	!!null===false
	!!undefined===false
	!!false===false

	// if语句中判断的就是trule变量和falsely变量
	// truly变量：
	const a=true
	if(a){
		//...
	}
	const b=100
	if(b){
		//....
	}
	//falsely变量
	const c=''
	if(c){
		// ...
	}
	const d=null;
	if(d) {
		// ...
	}
	let e
	if(e){
		//...
	}

	// 逻辑判断
	console.log(10 && 0) //0 因为10是truely变量，返回第二个值
	console.log(0 && 10) //因为0是falsely变量，在与判断中第一个为false直接返回 0
	console.log('' || 'abc') //'abc'
	
	console.log(!window.abc) //true
</script>